package util.AST.Comando.Simples;

import java.util.ArrayList;

import util.AST.Terminal.Identificador;

public class ChamadaSubrotina extends ComandoSimples {

	private Identificador nome;
	private ArrayList<Identificador> param;
	
	public ChamadaSubrotina(Identificador nome, ArrayList<Identificador> param) {
		this.nome = nome;
		this.param = param;
	}

	@Override
	public String toString(int level) {
		int nextLevel = level+5;
		StringBuffer str = new StringBuffer();
		str.append("CHAM\n");
		if ( this.nome != null ) {
			str.append(super.getSpaces(nextLevel) + "|-" + this.nome.toString(nextLevel));
		}
		str.append(super.getSpaces(nextLevel) + "|-PARM\n");
		if ( this.param != null ) {
			for (Identificador argument : this.param) {
				str.append(super.getSpaces(nextLevel+5) + "|-");
				str.append(argument.toString(nextLevel+5));
			}
		}
		return str.toString();
	}

	//get e set
	public Identificador getNome() {
		return nome;
	}

	public void setNome(Identificador nome) {
		this.nome = nome;
	}

	public ArrayList<Identificador> getParam() {
		return param;
	}

	public void setParam(ArrayList<Identificador> param) {
		this.param = param;
	}
	
	

}
